Extraer Transformar Carga | 您所在的位置:网站首页 › es etl › Extraer Transformar Carga |
Hola a todos O / Recientemente escribí sobre cómo obtener datos usando y llamando a API con Python . Esta semana me basaré en los datos a los que pude acceder y recuperar utilizando la API de Exchange móvil de RO . Explicaré cómo estoy usando Pandas paso a paso a lo largo del proceso Extract Transform Load (ETL). Usted será capaz de: Explica que es ETL Realice el proceso ETL usando PandasExtract Transform Load, según tengo entendido, es el proceso mediante el cual se obtienen, (extraen) algunos datos, se limpian, se disputan (se transforman) y se colocan en una estructura de datos fácil de usar como un marco de datos (cargado). A menudo, es posible que no sepa mucho sobre los datos con los que está trabajando. ETL es un primer paso esencial para obtener información sobre sus datos. Es común comenzar por comprender las características en sus datos y reconocer valores atípicos / valores perdidos / duplicados. Puede ser muy útil con algunos datos, especialmente de datos a nivel de usuario, realizar funciones de grupo y agregadas para explorar características demográficas comunes como la ubicación y el género, etc. ETL se puede utilizar para explorar sus datos en todas las capacidades anteriores para que esté listo para avanzar en el análisis de datos exploratorios. Veamos algunos ejemplos de ETL en acción. Los datos solicitados a través de la API no necesariamente vendrán en un formato al que estoy acostumbrado. Echemos un vistazo. ![]() Parece que es una lista de diccionarios. Es difícil leer esto. Podemos limpiar esto usando JSON. Notación de objetos de Java Script Un formato de archivo estándar abierto y un formato de intercambio de datos que utiliza texto legible por humanos para almacenar y transmitir objetos de datos que consisten en pares atributo-valor y tipos de datos de matriz. Wikipedia A continuación se muestra un decodificador JSON que está incorporado en la biblioteca de solicitudes de Python. Nos permitirá observar la carga útil de la solicitud (los datos devueltos) de una manera más agradable a la vista. En otras palabras, el siguiente código le dice al decodificador JSON que JSONify los datos. j = r.json()![]() así que inspeccionemos j ... ![]() ¿Ahora estamos buscando extraer estos datos en un marco de datos de Pandas? pero no será tan fácil. Primero, tenemos que navegar e indexar correctamente los diccionarios y listas anidados. Como podemos ver arriba, comienza como una lista. Veamos el primer elemento de la lista indexándolo con [0]: ![]() Usando la indexación correcta, podemos pedirle a los pandas que creen un marco de datos del diccionario que queremos dentro de esta lista: ![]() ¿Cómo se ve? ![]() ¿Habrá algún valor perdido? ¿Cómo se formatea la columna de tiempo? Investiguemos: ![]() Convertir la columna de tiempo en un formato de fecha y hora de pandas: ![]() También podríamos verificar si hay duplicados, pero sus datos de precios, por lo que puede haber duplicados y eso está bien. Aquí hay un método pandas groupby () simple con una función media agregada para obtener información sobre el precio promedio entre servidores: ![]() Hemos extraído y transformado los datos de alguna manera, pero ahora llegamos al aspecto de carga de ETL. Podemos cargar los nuevos datos y cualquier transformación adicional que hagamos en una base de datos o almacén de datos de destino. Daré un ejemplo cargando estos datos en una base de datos SQL. Python tiene un módulo SQL incorporado: sqlite 3 . El uso del método pandas DataFrame.to_sql ( ) cargará fácilmente su marco de datos en una tabla SQL. Primero vamos a importar sqlite3 y crear una conexión a una base de datos. Al hacerlo, se manifestará automáticamente una base de datos. El objeto cur a continuación es una forma de obtener resultados y realizar un seguimiento de los resultados de las consultas que realiza en el lenguaje SQL. import sqlite3 conn = sqlite3.connect('romexchange.db') cur = conn.cursor() df1.to_sql(name='abyss_flowers', if_exists='replace', con=conn) cur.execute("""SELECT * FROM abyss_flowers;""").fetchall() The Data exists in the database. Looks good.ETL es un componente clave de Data Science: ETL significa Extract Transform Load. El proceso implica obtener información y limpiar los datos (eliminar valores atípicos, verificar duplicados y valores perdidos). Los datos se pueden transformar en valores útiles utilizando las funciones apply (), tablas dinámicas (), Groupby (), etc. Por último, los datos modificados y transformados se pueden cargar en otro almacén de datos o base de datos. Pandas es una herramienta útil para hacer esto en Python y apoya el proceso haciéndolo más rápido, fácil y amigable para el usuario. Alternativas a los pandasSi no está interesado en usar Pandas para ETL, Hassan Syyid ofrece bastantes alternativas a Pandas para ETL en Python en su artículo de Medium : Pyspark : útil para BIG DATA. Dask : más escalabilidad que los pandas pueden trabajar en grupos de datos. Modin - como Dask pero más automatizado menos configuración. PETL : diseñado con ETL en mente, es liviano y eficiente, por lo que carece de funciones de análisis de datos. |
CopyRight 2018-2019 实验室设备网 版权所有 |